Implementation and Visualization of a BDD Package in JAVA

نویسندگان

  • Rolf Drechsler
  • Jochen Römmler
چکیده

Decision Diagrams (DDs) are often used in VLSI CAD systems for efficient representation and manipulation of Boolean functions. The most popular data structure are reduced ordered Binary Decision Diagrams (BDDs) [Bry86,DB98], also called ROBDDs. They are part of almost all courses on function representation in VLSI CAD education. BDDs are very sensitive to the variable ordering, i.e. the size of a BDD (measured in the number of nodes) may vary from linear to exponential. Finding the optimal variable ordering is an NP-hard problem and the best known algorithm has runtime exponential in the number of variables. This is the reason why many authors presented heuristics for finding good variable orderings from circuit descriptions in the last few years. The most promising methods for BDD minimization are based on dynamic variable ordering. We describe the JAVA implementation of the BDD package JADE (=JAVA DEcision diagram package). The BDD package has an interactive interface that allows to display the construction and minimization process and by this gives further insight in the data structure. Almost every formula can be entered and immediately translated into a corresponding BDD. Users can easily change the global variable ordering in a given BDD simply by selecting a certain variable with the mouse and exchange its position with adjacent variables. The effects on the BDD can be seen immediately. This allows the user to manually optimize the BDD if the automatic minimization algorithm returns unsatisfying results. The view area can also be changed using the mouse in order to zoom into very large structures. New minimization algorithms can easily be evaluated and their performance can be analyzed. The tool can be directly applied in on-line learning and tele-education. The user gets “hands-on” experience while working with the software. GUI Graphical User Interface The visualization of BDDs is an important topic, since this gives some feedback how well the minimization techniques, like sifting, are doing. For this, most BDD packages presented so far have an output option to display the graph already build. But none of them allow any user interaction or visualization of the BDD manipulation, i.e. minimization and graph construction. The key advantage of this BDD package implementation is the ability to change the global variable ordering. This can be achieved in different ways. Another important improvement is the visualization during automatic minimization using sifting heuristic and during BDD construction. In the following we briefly mention some features of the Graphical User Interface (GUI) of our JAVA based BDD package (see figure below and [DR02] for more details): trace mode, automatic minimization, setting the variable ordering, interactively changing variable ordering, verbose mode, simple input format, resizing the BDD, swap high/low edges, and keeping of configuration.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A JavaTM 1 Implementation of a BDD Package

Efficient manipulation of Boolean functions is the foundation of many formal verification tasks. Several code libraries and development environments exist in the public domain which perform these tasks using ordered binary decision diagrams as the central data structure. This paper describes a re-implementation of one of these libraries, David Long’s bddlib, in Sun Microsystems’ Java computer l...

متن کامل

Reduction of Computational Complexity in Finite State Automata Explosion of Networked System Diagnosis (RESEARCH NOTE)

This research puts forward rough finite state automata which have been represented by two variants of BDD called ROBDD and ZBDD. The proposed structures have been used in networked system diagnosis and can overcome cominatorial explosion. In implementation the CUDD - Colorado University Decision Diagrams package is used. A mathematical proof for claimed complexity are provided which shows ZBDD ...

متن کامل

Time and Space Complexity Reduction of a Cryptanalysis Algorithm

Binary Decision Diagram (in short BDD) is an efficient data structure which has been used widely in computer science and engineering. BDD-based attack in key stream cryptanalysis is one of the best forms of attack in its category. In this paper, we propose a new key stream attack which is based on ZDD(Zero-suppressed BDD). We show how a ZDD-based key stream attack is more efficient in time and ...

متن کامل

Time and Space Complexity Reduction of a Cryptanalysis Algorithm

Binary Decision Diagram (in short BDD) is an efficient data structure which has been used widely in computer science and engineering. BDD-based attack in key stream cryptanalysis is one of the best forms of attack in its category. In this paper, we propose a new key stream attack which is based on ZDD(Zero-suppressed BDD). We show how a ZDD-based key stream attack is more efficient in time and ...

متن کامل

Dynamic Visualization of Computtations on the Internet

We present the design of a visualization tool which can be incorporated in parallel/ distributed code to track computational parameters with respect to convergence and the distribution of the work remaining for the parallel processes. We describe its functionality, algorithms and implementation in Java, as it is applied to a package for multivariate integration. Implementation aspects include m...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002